The implementation handoff for the sheet behind Chat's top-right overflow. One device component drives every frame on this board, so each is live: open a picker and come back, toggle Fast mode, arm Clear, flip the capability gates and watch rows appear and disappear. Theme, locale and text size are runtime state, not separate mockups. No action, callback or visibility rule changes.
Hand off to a colleague now uses the geometry, weight, ink and surface of Terminal and Changed files. The NEW badge, relay glyph, tinted fill and accent text are gone with no replacement. Being conditionally available is not a state, and no row on this sheet carries an icon, so handoff carries none either.
Every action was a detached filled rectangle, which flattened eleven items into eleven equal advertisements. They are now hairline-separated rows under four written group labels, one vertical reading path, values and chevrons right-aligned. Grouping does the work the fills were failing to do.
Same eleven actions, same capability gates, same callbacks, same two-tap Clear, same bottom sheet shell with scrim, drag handle and Back dismissal. Clear stays separated and written in danger ink, never filled. Model, effort and mode still print their current values; model identifiers stay literal and monospaced.
The chat behind the scrim is a placeholder shape, never a transcript. Model and effort sub-pages stand in for the existing pickers and only record a choice. Destinations dismiss and log their name. Fixture values — fable, default effort, Ask every time — are chosen to stress layout.
The default. Eleven actions, four groups, one reading path. Handoff sits third in Session tools with nothing to mark it out.
Fast mode appears only when the model reports the priority tier. It prints On or Off and toggles in place; no chevron, because it goes nowhere.
The row is absent, not disabled. Session tools closes to three rows and says nothing about why — internal protocol state is never explained here.
Only the trailing copy changes. The row keeps its separation and danger ink, never becomes a filled primary button, and its accessible name carries the confirmation state.
The picker replaces the sheet's content rather than opening a second surface. Back is a named target, not a gesture. Model identifiers stay literal and monospaced.
At 402 × 874 the content scrolls inside the sheet. Rows grow to 64 pt, type never shrinks, values wrap under nothing, and Clear is reachable at the end of the scroll.
Each row is one named button with a 52 pt target at normal type and 64 pt at 200%. The group label and the trailing value are supplementary — the action's name stands alone. The chevron never carries navigation on its own, and armed Clear announces its confirmation state rather than relying on danger ink.
Fixed grammar is localized; daemon-supplied values are not. fable renders identically in both locales and in monospace, while Default, On, Off and Ask every time are translated. Commands are named by what they do, not by the slash string they send.
The model picker, effort picker, mode sheet, terminal, changed files, Help and handoff draft keep their current designs and are reached unchanged. No route, protocol or repository change; no new action, badge, metric or discovery affordance is introduced anywhere on this sheet.